package com.lyz.file;
/**
 * save unhandle files
 * @author iqiyi
 *
 */
public interface IFileQueue {
	
	/**
	 * get next handle file, if empty ,it will be blocked
	 * @return file name
	 */
	public String getNextFile();
	/**
	 * add file to queue	
	 * @param fileName file name, directory is not included.
	 */
	public void addFile(String fileName);
	
	public boolean isEmpty();
	
	public int size();
	/**
	 * the count of files in the queue 
	 * @return
	 */
	public int getFileCount();
	
	/**
	 * 获取最后一个被加入队列的文件
	 * @return file name of last one
	 */
	public String getLastOne();
	/**
	 * 初始化文件队列，阻塞直到有文件被加入队列
	 * @param fetcher
	 */
	public void initQueue(IFileFetcher fetcher);
	
}
